package com.easyj.admin.edu.service;

import java.util.List;
import com.easyj.base.exception.EasyjException;
import com.easyj.base.common.page.Page;
import com.easyj.admin.activiti.vo.SimpleApproveVO;
import com.easyj.admin.db.model.TaskComment;
import com.easyj.admin.db.model.Training;
import com.easyj.admin.db.model.TrainingQO;

public interface TrainingService {
	
	public final static String  ProcessDefKey="training"; //流程定义Key
	public final static String  ApproveTaskKey="deptApprove"; //审批任务定义Key
	public final static String  ApplyTaskKey="trainingApply"; //审批任务定义Key
		

	public Page<Training> findPage(TrainingQO filter);

   	public List<Training> findList(TrainingQO filter);
		
    public long count(TrainingQO filter);

	public Training findById(Long id);

	public int  apply(Training entity) throws EasyjException;
	
	public int  reApply(Training entity) throws EasyjException;
	
	public void approve(SimpleApproveVO approveVO) throws EasyjException;
	
	public int  updateEntity(Training entity) throws EasyjException;

	public int  cancel(Long id) throws EasyjException;

	public void auditApply(SimpleApproveVO approveVO) throws EasyjException;
	
	public List<TaskComment> findCommentsById(Long entityId);
}
